home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 1
/
Gekikoh Dennoh Club Vol. 1 (Japan).7z
/
Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin
/
kowin
/
archive
/
apl
/
gview120.lzh
/
gviewsrc.lzh
/
main.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-02-27
|
3KB
|
129 lines
/*
Copyright 1995 Ogasawara Hiroyuki(COR.)
*/
#include <corlib.h>
#include <sys_doslib.h>
#include "gview.h"
#define PROG "GView v1.20"
int WindowHeapSize= 1024*0;
int LoadMode= FALSE;
WindowID Awp;
#define XSIZE 80
#define YSIZE 20
static void
LoadSet( dp, mode )
DrawBuf *dp;
{
DrawSetSymbol( dp, 6, 4, mode ? PROG : "Loading .. ",
AttrDefault|AttrHighLight, 12 );
}
void
GV_FileLoad( fname )
char *fname;
{
GVIEW *gp;
DrawBuf dbuf[1];
int x, y;
WindowGetGraphicOffset( &x, &y );
LoadSet( dbuf, FALSE );
WindowDraw( Awp, dbuf, 1 );
if( gp= GV_LoaderExec( fname ) )
GV_Open( x, y, gp );
LoadSet( dbuf, TRUE );
WindowDraw( Awp, dbuf, 1 );
}
static int
EventExec( wp, info )
WindowID wp;
EventInfo *info;
{
DrawBuf dbuf[4];
switch( info->option ){
case EventOpen:
Awp= wp;
WindowSetEventAttr( wp, EventOpenON|EventRedrawON
|EventCloseON|EventMouseSwitchON|EventIconifyON
|EventUserON );
WindowRedraw( wp );
return TRUE;
case EventIconify:
IconEnt( wp, PROG, AttrDefault, 12 );
return TRUE;
case EventRedraw:
DrawSetClear( dbuf, ColorGray );
LoadSet( dbuf+1, TRUE );
DrawSetLine( dbuf+2, 1, 1, XSIZE-2, YSIZE-2,
ShadowDown, OptionShadow );
WindowDraw( wp, dbuf, 3 );
return TRUE;
case EventClose:
WindowClose( wp );
WindowConnectionClose();
return TRUE;
case EventUser:
switch( info->ComData ){
case UserGraphic:
GV_UG_Open( info->ComBuffer );
info->ComData= -1;
return TRUE;
case UserString:
case UserPaste:
GV_FileLoad( info->ComBuffer );
return TRUE;
case UserStrings:
GV_FileLoad( *(char**)info->ComBuffer );
return TRUE;
}
return FALSE;
case EventMouseSwitch:
if( info->LeftON ){
ConsoleOpen();
ConsolePrint(
"\r\n" PROG " 1995 COR.\r\n"
"------------------------------------------------------------------------\r\n"
"16/256/65536色のマルチ画像ビュアです。このウィンドウはローダーで、ここに\r\n"
"EventUser の UserGraphic や kf からファイルを運ぶと画像の内容を表示する\r\n"
"ことができます。現在 PIC/JPEG/MAG/Pi/HG のロードが可能です。PIC/Piフォー\r\n"
"マットのファイルは自分で展開します。JPEG/MAG/HGはそれぞれ外部のローダー\r\n"
"mag.r,hg.r,jpeged.rを呼び出して展開します。表示した画像は他のウィンドウに\r\n"
"転送したり任意部分の切り出しをしたりできます。\r\n"
"------------------------------------------------------------------------\r\n"
);
return TRUE;
}
return FALSE;
}
return FALSE;
}
void
WindowMain( argc, argv )
char **argv;
{
int x= 200, y= 8;
if( KoWindowVersionCheck( "2.24+13" ) < 0 ){
ConsoleAutoPrint( "サーバーのバージョンが古すぎます\n" );
WindowSendSignal( WindowProcessID, SignalKill, 0 );
return;
}
argc= AnalyzeArgs( argc, argv, &x, &y, NULL, NULL );
WindowTitleOpen( x, y, XSIZE, YSIZE, NULL, " ",
Close|Push|Icon, EventExec );
for(; --argc ;){
if( **++argv == '-' ){
}else{
GV_FileLoad( *argv );
}
}
}